package com.zkh360.service.message.service;

import java.util.List;

import com.zkh360.service.message.exceptions.BusinessException;
import com.zkh360.service.message.model.Pager;
import com.zkh360.service.message.model.SysRoleVO;
import com.zkh360.service.message.model.SysUserVO;
import com.zkh360.service.message.model.SysUsersRolesVO;

/**
 * 用户接口
 * 
 * @author chuanxi.zhao
 * 
 */
public interface RoleService {

    /**
     * 根据角色属性查询角色信息
     *
     * @param sysRoles  角色属性
     * @return
     */
    public List<SysRoleVO> getRoles(SysRoleVO sysRoles, Pager pager) throws BusinessException;
    
    /**
     * 根据用户属性查询用户信息
     *
     * @param sysUsers  用户信息
     * @return 角色信息
     */
    public List<SysRoleVO> getRolesByUser(SysUserVO sysUsers, Pager pager) throws BusinessException;
    
    /**
     * 新增角色信息
     * 
     * @param sysRoleVo 角色信息
     */
	public void editRole(SysRoleVO sysRoleVo);
	
	/**
	 * 删除角色信息
	 * 
	 * @param roleId 角色ID
	 */
	public void deleteRole(Long roleId);
	
	/**
	 * 修改角色信息
	 * 
	 * @param sysRoleVo 角色ID
	 */
	public void addRole(SysRoleVO sysRoleVo);
	
	/**
	 * 根据用户名修改角色信息
	 * 
	 * @param sysUsersRolesVoList 用户名角色关联关系
	 */
	public void ediRoleByUser(List<SysUsersRolesVO> sysUsersRolesVoList);
	
	/**
	 * 获取角色数量
	 * 
	 * @param sysUsers 用户信息
	 * @return 角色数量
	 */
	public int getRolesCount(SysUserVO sysUsers);
    
}
